﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace CruzDelSur.Models
{
    public class ComboModel
    {
        public int Value { get; set; }
        public string Text { get; set; }
    }
    public class AprobarServicioEspecialFormModel
    {
        //Campos del formularo AprobarSevr Especiales
        //Campo Seleccione tipo de servicio
        public int TipoServicio { get; set; }
        private List<ComboModel> TiposServicios;
        //Grilla de datos
        public IList<AprobarServicioEspecialDetalleModel> Detalle { get; set; }
        public string BotonAplicar { get { return "Aplicar"; } }
        public string BotonAprobar { get { return "Aprobar servicios especial seleccionados"; } }
        public string BotonSubmit { get; set; }

        public AprobarServicioEspecialFormModel()
        {

        }

        public AprobarServicioEspecialFormModel(int tipoServ) {
            //Iniciando tipo de servicio por defecto
           TipoServicio = tipoServ;
            //Iniciando lista de valores del combo
           TiposServicios = new List<ComboModel>();
           TiposServicios.Add(new ComboModel{Value=1, Text = "Promocion"});
           TiposServicios.Add(new ComboModel { Value = 2, Text = "Contrato" });
           TiposServicios.Add(new ComboModel { Value = 3, Text = "Convenio" });
           TiposServicios.Add(new ComboModel { Value = 4, Text = "Proyecto Especial" });
           Detalle = new List<AprobarServicioEspecialDetalleModel>();
        }
        
        public SelectList ComboTipoServicio {
            get { 
                return new SelectList(TiposServicios, "Value", "Text", TipoServicio);
            }
        }
        /// <summary>
        /// Metodo para agregar un Item al detalle a través de la controladora o
        /// capa de negocio
        /// </summary>
        /// <param name="codigo"></param>
        /// <param name="desc"></param>
        /// <param name="tipo"></param>
        /// <param name="check"></param>
        public void agregarItem(string codigo, string desc, int tipo, bool check)
        {
            string tipoServ = TiposServicios[tipo - 1].Text;
            Detalle.Add(new AprobarServicioEspecialDetalleModel
            {
                Codigo = codigo,
                Descripcion = desc,
                Tipo = tipoServ,
                Marcado = check
            });
        }
    }
    /// <summary>
    /// Modelo para mostrar un Item del Detalle de la grilla
    /// </summary>
    public class AprobarServicioEspecialDetalleModel
    {
        public string Codigo { get; set; }
        public string Descripcion { get; set; }
        public string Tipo { get; set; }
        public bool Marcado { get; set; }
    }
    
}